package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCDemo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
       // 1. 加载 MySQL JDBC 驱动类
// com.mysql.cj.jdbc.Driver 是 MySQL Connector/J 提供的 JDBC 驱动类名
Class.forName("com.mysql.cj.jdbc.Driver");

// 2. 建立数据库连接
// 使用 DriverManager 获取与数据库的连接
// URL 格式说明：
// - jdbc:mysql://：表示使用 MySQL 的 JDBC 协议
// - localhost:3306：表示数据库服务器在本地主机，端口为 3306
// - tedu：要连接的数据库名称
// 参数部分：
// - characterEncoding=utf8：指定字符编码为 UTF-8
// - useSSL=false：不使用 SSL 安全连接
// - serverTimezone=Asia/Shanghai：设置服务器时区为上海
// - rewriteBatchedStatements=true：优化批量 SQL 执行
// 用户名和密码分别为 "root" 和 "root"
Connection conn = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
    "root",
    "root"
);
System.out.println("与数据库连接成功！");

// 3. 创建 Statement 对象用于执行 SQL 语句
Statement state = conn.createStatement();

// 构建创建表的 SQL 语句
// userinfo 表包含以下字段：
// - id：主键，自动递增
// - username：用户名，最大长度 32
// - password：密码，最大长度 32
// - nickname：昵称，最大长度 32
// - age：年龄，整数类型（最多 3 位）
String sql = "CREATE TABLE userinfo( " +
             " id INT PRIMARY KEY AUTO_INCREMENT, " +
             " username VARCHAR(32), " +
             " password VARCHAR(32), " +
             " nickname VARCHAR(32), " +
             " age INT(3) " +
             " )";

// 执行 SQL 语句，创建数据表
state.execute(sql);

// 输出执行成功提示
System.out.println("执行成功");

// 关闭数据库连接，释放资源
conn.close();

    }
}
